package cn.edu.hyit.hjq.volunteems.backend.service;

import cn.edu.hyit.hjq.volunteems.backend.pojo.Skill;
import java.util.List;

public interface SkillService {
    /**
     * 插入新的技能项
     *
     * @param skill 技能对象，包含技能名称等信息
     * @return 返回一个整数，表示受影响的行数
     *
     * 此方法将一个新的技能项保存到数据库中
     * 返回值为数据库操作受影响的行数
     */
    int insert(Skill skill);

    /**
     * 根据技能ID删除技能项
     *
     * @param skillId 技能ID
     * @return 返回一个整数，表示受影响的行数
     *
     * 此方法从数据库中删除指定ID的技能项
     * 返回值为数据库操作受影响的行数
     */
    int deleteById(Integer skillId);

    /**
     * 更新技能项信息
     *
     * @param skill 技能对象，包含更新后的技能信息
     * @return 返回一个整数，表示受影响的行数
     *
     * 此方法更新数据库中的技能项信息
     * 返回值为数据库操作受影响的行数
     */
    int update(Skill skill);

    /**
     * 根据技能ID查询技能项
     *
     * @param skillId 技能ID
     * @return 返回一个Skill对象，包含查询结果的技能信息
     *
     * 如果存在对应ID的技能项，则返回该技能对象
     * 否则返回null
     */
    Skill selectById(Integer skillId);

    /**
     * 查询所有技能项
     *
     * @return 返回一个List<Skill>对象，包含所有技能信息
     *
     * 此方法获取数据库中所有技能项的信息
     * 并以列表形式返回
     */
    List<Skill> selectAll();
}
